package com.yowasa.xiuxian.engine.battle.strategy;

import com.yowasa.xiuxian.annoations.BS;
import com.yowasa.xiuxian.entity.bo.CostTravelInterface;
import com.yowasa.xiuxian.entity.bo.DescInterface;
import com.yowasa.xiuxian.entity.bo.LimitCheckInterface;
import org.apache.commons.lang3.tuple.Pair;

/**
 * 通用策略
 */
public interface BattleStrategy extends CostTravelInterface, DescInterface, LimitCheckInterface {

    //描述
    String desc();

    default Pair<String, String> getItemDesc() {
        BS annotation = this.getClass().getAnnotation(BS.class);
        if (annotation == null) {
            return null;
        }
        String name = annotation.name();
        return Pair.of(name, "[战技]" + name + "\n限制:" + limitDesc() + "\n描述:" + desc());
    }

    ;


}
